package cn.tedu.autoshow.website.service;


import cn.tedu.autoshow.commons.pojo.vo.PageData;
import cn.tedu.autoshow.website.pojo.param.TicketListAddNewParam;
import cn.tedu.autoshow.website.pojo.param.TicketListUpdaeInfoParam;
import cn.tedu.autoshow.website.pojo.vo.TicketListListItemVO;
import cn.tedu.autoshow.website.pojo.vo.TicketListStandardVO;
import org.springframework.transaction.annotation.Transactional;

import javax.validation.Valid;
import java.util.List;

@Transactional
public interface ITicketListService {

    void addNew(TicketListAddNewParam ticketListAddNewParam);

    void deleteById(Long id);

    void updateInfoById(Long id, TicketListUpdaeInfoParam ticketListUpdaeInfoParam);

    void setPayRefundById(Long id);

    void setPayRefundedById(Long id);

    void setPayRefundFailById(Long id);

    TicketListStandardVO getStandardById(Long id);

    PageData<TicketListListItemVO> list(Integer pageNum);

    PageData<TicketListListItemVO> list(Integer pageNum, Integer pageSize);

    List<TicketListListItemVO> listByOrderId(Long orderId);

    PageData<TicketListListItemVO> listByPatStatus(Integer payStatus, Integer pageNum);

    PageData<TicketListListItemVO> listByPatStatus(Integer payStatus, Integer pageNum, Integer pageSize);

}
